diff --git a/system/drivers/DB_driver.php b/system/drivers/DB_driver.php
index b05cd7c..a1ec14b 100644
--- a/system/drivers/DB_driver.php
+++ b/system/drivers/DB_driver.php
@@ -316,7 +316,7 @@
 	 * @access	public
 	 * @return	void		 
 	 */	
-	function trans_start()
+	function trans_start($test_mode = FALSE)
 	{	
 		if ( ! $this->trans_enabled)
 		{
@@ -330,9 +330,7 @@
 			return;
 		}
 		
-		// Reset the transaction failure flag
-		$this->_trans_failure = FALSE;		
-		$this->trans_begin();
+		$this->trans_begin($test_mode);
 	}
 
 	// --------------------------------------------------------------------
@@ -376,6 +374,20 @@
 	// --------------------------------------------------------------------
 
 	/**
+	 * Lets you retrieve the transaction flag to determine if it has failed
+	 * 
+	 * @access	public
+	 * @return	bool		 
+	 */	
+	function trans_status()
+	{
+		return $this->_trans_failure;
+	}
+
+
+	// --------------------------------------------------------------------
+
+	/**
 	 * Enables a native PHP function to be run, using a platform agnostic wrapper.
 	 * 
 	 * @access	public
diff --git a/system/drivers/DB_mssql.php b/system/drivers/DB_mssql.php
index 3fbfa6a..32c0537 100644
--- a/system/drivers/DB_mssql.php
+++ b/system/drivers/DB_mssql.php
@@ -106,7 +106,7 @@
 	 * @access	public
 	 * @return	bool		 
 	 */	
-	function trans_begin()
+	function trans_begin($test_mode = FALSE)
 	{
 		if ( ! $this->trans_enabled)
 		{
@@ -119,6 +119,11 @@
 			return TRUE;
 		}
 
+		// Reset the transaction failure flag.
+		// If the $test_mode flag is set to TRUE transactions will be rolled back 
+		// even if the queries produce a successful result. 
+		$this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
+
 		$this->simple_query('BEGIN TRAN');
 		return TRUE;
 	}
diff --git a/system/drivers/DB_mysql.php b/system/drivers/DB_mysql.php
index 69a6db0..208f09c 100644
--- a/system/drivers/DB_mysql.php
+++ b/system/drivers/DB_mysql.php
@@ -123,7 +123,7 @@
 	 * @access	public
 	 * @return	bool		 
 	 */	
-	function trans_begin()
+	function trans_begin($test_mode = FALSE)
 	{
 		if ( ! $this->trans_enabled)
 		{
@@ -136,6 +136,11 @@
 			return TRUE;
 		}
 
+		// Reset the transaction failure flag.
+		// If the $test_mode flag is set to TRUE transactions will be rolled back 
+		// even if the queries produce a successful result. 
+		$this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
+		
 		$this->simple_query('SET AUTOCOMMIT=0');
 		$this->simple_query('START TRANSACTION'); // can also be BEGIN or BEGIN WORK
 		return TRUE;
diff --git a/system/drivers/DB_mysqli.php b/system/drivers/DB_mysqli.php
index a5237c8..288f552 100644
--- a/system/drivers/DB_mysqli.php
+++ b/system/drivers/DB_mysqli.php
@@ -127,7 +127,7 @@
 	 * @access	public
 	 * @return	bool		 
 	 */	
-	function trans_begin()
+	function trans_begin($test_mode = FALSE)
 	{
 		if ( ! $this->trans_enabled)
 		{
@@ -140,6 +140,11 @@
 			return TRUE;
 		}
 
+		// Reset the transaction failure flag.
+		// If the $test_mode flag is set to TRUE transactions will be rolled back 
+		// even if the queries produce a successful result. 
+		$this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
+
 		$this->simple_query('SET AUTOCOMMIT=0');
 		$this->simple_query('START TRANSACTION'); // can also be BEGIN or BEGIN WORK
 		return TRUE;
diff --git a/system/drivers/DB_oci8.php b/system/drivers/DB_oci8.php
index 2f936da..a88b474 100644
--- a/system/drivers/DB_oci8.php
+++ b/system/drivers/DB_oci8.php
@@ -245,7 +245,7 @@
 	 * @access	public
 	 * @return	bool		 
 	 */	
-	function trans_begin()
+	function trans_begin($test_mode = FALSE)
 	{
 		if ( ! $this->trans_enabled)
 		{
@@ -258,6 +258,11 @@
 			return TRUE;
 		}
 		
+		// Reset the transaction failure flag.
+		// If the $test_mode flag is set to TRUE transactions will be rolled back 
+		// even if the queries produce a successful result. 
+		$this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
+		
 		$this->_commit = OCI_DEFAULT;
 		return TRUE;
 	}
diff --git a/system/drivers/DB_odbc.php b/system/drivers/DB_odbc.php
index a32e9e0..cdd2f45 100644
--- a/system/drivers/DB_odbc.php
+++ b/system/drivers/DB_odbc.php
@@ -107,7 +107,7 @@
 	 * @access	public
 	 * @return	bool		 
 	 */	
-	function trans_begin()
+	function trans_begin($test_mode = FALSE)
 	{
 		if ( ! $this->trans_enabled)
 		{
@@ -120,6 +120,11 @@
 			return TRUE;
 		}
 
+		// Reset the transaction failure flag.
+		// If the $test_mode flag is set to TRUE transactions will be rolled back 
+		// even if the queries produce a successful result. 
+		$this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
+
 		return odbc_autocommit($this->conn_id, FALSE);
 	}
 
diff --git a/system/drivers/DB_postgre.php b/system/drivers/DB_postgre.php
index fe7c704..bd5fbac 100644
--- a/system/drivers/DB_postgre.php
+++ b/system/drivers/DB_postgre.php
@@ -111,7 +111,7 @@
 	 * @access	public
 	 * @return	bool		 
 	 */	
-	function trans_begin()
+	function trans_begin($test_mode = FALSE)
 	{
 		if ( ! $this->trans_enabled)
 		{
@@ -124,6 +124,11 @@
 			return TRUE;
 		}
 
+		// Reset the transaction failure flag.
+		// If the $test_mode flag is set to TRUE transactions will be rolled back 
+		// even if the queries produce a successful result. 
+		$this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
+
 		return @pg_exec($this->conn_id, "begin");
 	}
 
diff --git a/system/drivers/DB_sqlite.php b/system/drivers/DB_sqlite.php
index 6d7b429..b21241a 100644
--- a/system/drivers/DB_sqlite.php
+++ b/system/drivers/DB_sqlite.php
@@ -128,7 +128,7 @@
 	 * @access	public
 	 * @return	bool		 
 	 */	
-	function trans_begin()
+	function trans_begin($test_mode = FALSE)
 	{
 		if ( ! $this->trans_enabled)
 		{
@@ -141,6 +141,11 @@
 			return TRUE;
 		}
 
+		// Reset the transaction failure flag.
+		// If the $test_mode flag is set to TRUE transactions will be rolled back 
+		// even if the queries produce a successful result. 
+		$this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
+
 		$this->simple_query('BEGIN TRANSACTION');
 		return TRUE;
 	}
